# RUN: not lld-link nosuchfile.obj >& %t.log
# RUN: FileCheck -DMSG=%errc_ENOENT -check-prefix=MISSING %s < %t.log
MISSING: 'nosuchfile.obj': [[MSG]]

# RUN: lld-link --version | FileCheck -check-prefix=VERSION %s
VERSION: {{LLD [0-9]+\.[0-9]+}}

# RUN: yaml2obj %p/Inputs/export.yaml -o %t.obj
# RUN: lld-link /out:%t.dll /dll %t.obj
# RUN: not lld-link /out:%t.exe %t.dll 2>&1 | FileCheck -check-prefix=BADFILE %s
BADFILE: bad file type. Did you specify a DLL instead of an import library?

# RUN: lld-link /lib /help | FileCheck -check-prefix=LIBHELP %s
# RUN: lld-link -lib -help | FileCheck -check-prefix=LIBHELP %s
LIBHELP: OVERVIEW: LLVM Lib

# RUN: env LLD_IN_TEST=1 not lld-link /WX /lib 2>&1 | FileCheck -check-prefix=LIBBAD %s
LIBBAD: ignoring /lib since it's not the first argument

# RUN: yaml2obj %p/Inputs/hello32.yaml -o %t.obj
# RUN: not lld-link /out:/ %t.obj 2>&1 | FileCheck -check-prefix=DIR %s
DIR: cannot open output file

# RUN: env LLD_IN_TEST=1 not lld-link -version 2>&1 | FileCheck -check-prefix=SPELLVERSION %s
SPELLVERSION: ignoring unknown argument '-version', did you mean '--version'
SPELLVERSION: no input files

# RUN: env LLD_IN_TEST=1 not lld-link -nodefaultlibs 2>&1 | FileCheck -check-prefix=SPELLNODEFAULTLIB %s
SPELLNODEFAULTLIB: ignoring unknown argument '-nodefaultlibs', did you mean '-nodefaultlib'
SPELLNODEFAULTLIB: no input files

# RUN: not lld-link /nodefaultlibs 2>&1 | FileCheck -check-prefix=SPELLNODEFAULTLIB_SLASH %s
SPELLNODEFAULTLIB_SLASH: could not open '/nodefaultlibs': {{.*}}; did you mean '/nodefaultlib'
SPELLNODEFAULTLIB_SLASH-NOT: no input files

# Getting flags as typo corrections for normal input files is a side effect
# of how spell checking for /-style flags is implemented.
# RUN: not lld-link force 2>&1 | FileCheck -check-prefix=SPELLFORCE %s
SPELLFORCE: could not open 'force': {{.*}}; did you mean '/force'
SPELLFORCE-NOT: no input files
